package observer;

import java.util.List;
import model.Connection;
import model.User;

/**
 * Interface Observable <br>
 * Definit les methodes d'appel pour informer les observers<br>
 * @author Romain Bustos
 * @author Matthieu Perrin
 * @version 1.0
 */
public interface Observable {
    public void addConnObserver(ListObserver obs);
    public void addUserObserver(UserObserver obs);
    public void addAtivityLineObserver(ActivityObserver obs);
    public void removeAtivityLineObserver();
    public void removeConnObserver();
    public void removeUserObserver();
    public void notifyAtivityLineObserver(boolean activity);
    public void notifyObserverWaitList(List<Connection> list);
    public void notifyObserverActList(List<Connection> list);
    public void notifyObserverCurrentUser(int currentUser);
    public void notifyObserverUserList(List<User> list);
}
